      SUBROUTINE  SLEQDC(N,NSYS)                                        00010000
CCC           LINEAR EQUATIONS   **   ELIMINATION METHOD                00020000
CCC           MULTI-SYSTEM OF COMPLEX LINEAR EQUATIONS                  00030000
CCC           SOLUTIONS ARE GIVEN IN THE ARREY - AR - IN ORIGINAL ORDER 00040000
CCC           NMX = DIMENSION OF MATRIX = 2*NMAX                        00050007
CCC           NSYS = NUMBER OF SYSTEMS <  46                            00060000
CCC                                                                     00070000
      IMPLICIT COMPLEX*16 (A-H,O-Z)                                     00080000
      REAL*8  BIGST,EPS                                                 00090000
      PARAMETER  (NMX=140, MSYS=45)                                     00100006
      DIMENSION  AL(NMX,NMX),AR(NMX,MSYS),IORDER(NMX),X(NMX)            00110003
      COMMON /SLEQ/AL,AR                                                00120000
C                                                                       00130002
      EPS=1.D-70                                                        00140000
      DO 10 I=1,N                                                       00150000
   10 IORDER(I)=I                                                       00160000
      DO 20 M=1,N                                                       00170000
      BIGST=0.D0                                                        00180000
      DO 30 I=M,N                                                       00190000
C             ELIMINATION                                               00200000
      IF(M.EQ.1) GO TO 3                                                00210000
      WW=AL(I,M-1)/AL(M-1,M-1)                                          00220000
      DO 1000 K=1,NSYS                                                  00230000
 1000 AR(I,K)=AR(I,K)-AR(M-1,K)*WW                                      00240000
    3 DO 40 J=M,N                                                       00250000
      IF(M.EQ.1) GO TO 5                                                00260000
      AL(I,J)=AL(I,J)-AL(M-1,J)*WW                                      00270000
C             TO FIND THE LARGEST ELEMENT                               00280000
    5 IF(BIGST-CDABS(AL(I,J))) 1,40,40                                  00290000
    1 IMX=I                                                             00300000
      JMX=J                                                             00310000
      BIGST=CDABS(AL(IMX,JMX))                                          00320000
   40 CONTINUE                                                          00330000
   30 CONTINUE                                                          00340000
      IF(M.EQ.1) GO TO 88                                               00350000
      IF(M.NE.N) GO TO 99                                               00360000
   88 CONTINUE                                                          00370000
   99 IF(BIGST.LT.EPS) GO TO 2                                          00380000
      IF(M.EQ.N) GO TO 8                                                00390000
C             EXCHANGE OF COLUMN AND ROW                                00400000
      IF(IMX.EQ.M) GO TO 4                                              00410000
      DO 2000 K=1,NSYS                                                  00420000
      B=AR(IMX,K)                                                       00430000
      AR(IMX,K)=AR(M,K)                                                 00440000
 2000 AR(M,K)=B                                                         00450000
      DO 50 L=M,N                                                       00460000
      C=AL(IMX,L)                                                       00470000
      AL(IMX,L)=AL(M,L)                                                 00480000
   50 AL(M,L)=C                                                         00490000
    4 IF(JMX.EQ.M) GO TO 20                                             00500000
      IA=IORDER(JMX)                                                    00510000
      IORDER(JMX)=IORDER(M)                                             00520000
      IORDER(M)=IA                                                      00530000
      DO 60 K=1,N                                                       00540000
      D=AL(K,JMX)                                                       00550000
      AL(K,JMX)=AL(K,M)                                                 00560000
   60 AL(K,M)=D                                                         00570000
   20 CONTINUE                                                          00580000
C             ANSWER IN THE INITIAL ORDER                               00590000
    8 DO 3000 K=1,NSYS                                                  00600000
      DO 15 J=1,N                                                       00610000
      JA=N+1-J                                                          00620000
      JB=JA+1                                                           00630000
      IF(J.GE.2) GO TO 6                                                00640000
      X(JA)=AR(JA,K)/AL(JA,JA)                                          00650000
      GO TO 15                                                          00660000
    6 CSUM=(0. ,0. )                                                    00670000
      DO 25 JC=JB,N                                                     00680000
   25 CSUM=CSUM+AL(JA,JC)*X(JC)                                         00690000
      X(JA)=(AR(JA,K)-CSUM)/AL(JA,JA)                                   00700000
   15 CONTINUE                                                          00710000
      DO 35 I=1,N                                                       00720000
      IB=IORDER(I)                                                      00730000
   35 AR(IB,K)=X(I)                                                     00740000
 3000 CONTINUE                                                          00750000
      GO TO 7                                                           00760000
    2 WRITE(6,100) M                                                    00770000
    7 RETURN                                                            00780000
  100 FORMAT(1H0,15X, '** <SLEQDC> MATRIX IS SINGULAR  -  RETURN WITH NO00790000
     2 CALCULATION (M =',I2, ')' )                                      00800000
      END                                                               00810000
